package com.ktg.mes.wm.service;

import java.util.List;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.mes.wm.domain.WmItemRecpt;
import com.ktg.mes.wm.domain.tx.ItemRecptTxBean;

/**
 * 物料入库单Service接口
 */
public interface IWmItemRecptService 
{
    /**
     * 查询物料入库单
     * @param recptId 物料入库单主键
     * @return 物料入库单
     */
    WmItemRecpt selectWmItemRecptByRecptId(Long recptId);

    /**
     * 查询物料入库单列表
     * @param wmItemRecpt 物料入库单
     * @return 物料入库单集合
     */
    List<WmItemRecpt> selectWmItemRecptList(WmItemRecpt wmItemRecpt);

    /**
     * 检查入库单号是否重复
     */
    String checkRecptCodeUnique(WmItemRecpt wmItemRecpt);

    /**
     * 新增物料入库单
     * @param wmItemRecpt 物料入库单
     */
    int insertWmItemRecpt(WmItemRecpt wmItemRecpt);

    /**
     * 修改物料入库单
     * @param wmItemRecpt 物料入库单
     */
    int updateWmItemRecpt(WmItemRecpt wmItemRecpt);

    /**
     * 批量删除物料入库单
     * @param recptIds 需要删除的物料入库单主键集合
     */
    int deleteWmItemRecptByRecptIds(Long[] recptIds);

    /**
     * 组装当前入库单对应的库存事务传入bean
     * @param receptId
     */
    List<ItemRecptTxBean> getTxBeans(Long receptId);

    /**
     * 根据供应商Id查询物料数据
     * @param vendorId
     */
    AjaxResult getItem(Long vendorId);

    /**
     * 根据供应商Id查询采购记录
     * @param vendorId
     */
    AjaxResult getProcurementRecord(Long vendorId);
}
